<template>
  <!-- 面包屑导航栏 -->
  <el-breadcrumb separator-class="el-icon-arrow-right">
    <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
    <el-breadcrumb-item>权限管理</el-breadcrumb-item>
    <el-breadcrumb-item>权限列表</el-breadcrumb-item>
  </el-breadcrumb>

  <!-- 卡片视图 -->
  <el-card>
    <el-table :data="rightsList" border stripe>
      <el-table-column type="index"></el-table-column>
      <el-table-column label="权限名称" prop="authName" />
      <el-table-column label="路径" prop="path" />
      <el-table-column label="权限等级" prop="level">
        <template v-slot="scope">
          <el-tag v-if="scope.row.level === '0'">一级</el-tag>
          <el-tag type="success" v-else-if="scope.row.level === '1'"
            >二级</el-tag
          >
          <el-tag type="warning" v-else>三级</el-tag>
        </template>
      </el-table-column>
    </el-table>
  </el-card>
</template>

<script>
import { getCurrentInstance, onMounted, reactive, inject } from "vue";
export default {
  setup() {
    // 获取vue实例
    const { proxy } = getCurrentInstance();
    // 注入一个axios
    const axios = inject("axios");

    // 存放渲染数据
    let rightsList = reactive([]);

    // 页面初始化请求数据
    const getRightsList = async () => {
      rightsList.length = 0;
      const { data: res } = await axios.get("rights/list");
      if (res.meta.status !== 200)
        return proxy.$message.error("获取权限列表失败！");
      rightsList.push(...res.data);
    };
    onMounted(() => {
      getRightsList();
    });

    return {
      rightsList,
    };
  },
};
</script>